package com.ym.medical.enums;

import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.util.StdConverter;
import com.ym.common.annotations.EnumDescription;
import com.ym.common.constant.DictEnum;


/**
 * 账单异常类型
 */
@EnumDescription("账单业务类型")
public enum BillExecTypeEnum implements DictEnum {

    //--------------------start-----------------

    /**
     * 平台存在，支付方不存在
     */
    PAYER_NOT_EXIST("01","平台存在，支付方不存在"),
    /**
     * 支付方存在，平台不存在
     */
    PLATFORM_NOT_EXIST("02","支付方存在，平台不存在"),
    /**
     * 支付方属实不存在，系统异常normal_trade_bill
     */
    SYSTEM_EXCEPTION("03","支付方属实不存在，系统异常"),

    //--------------------end-------------------
    ;

    private String key;

    private String value;

    BillExecTypeEnum(String key, String value) {
        this.key = key;
        this.value = value;
    }

    @Override
    public String getKey() {
        return this.key;
    }

    @Override
    public String getValue() {
        return this.value;
    }

    /**
     * 序列化使用
     */
    public static class Covert extends StdConverter<String, JSONObject> {
        @Override
        public JSONObject convert(String value) {
            return DictEnum.valueOfJson(BillExecTypeEnum.class, value);
        }
    }
}
